# -*- coding: utf-8 -*-
'''
@author: Artur Ataíde 11508, Pedro Fernandes 9634
@date: Outubro de 2012
Módulo que desenha os gráficos com as estatisticas apresentadas.
'''
"""
código baseado nos códigos disponíveis no site matplotlib.org
"""
import matplotlib.pyplot as grafico
import csv

class Criar_Grafico1():
	'''
	Clase que cria o grafico da pesquisa 2
	'''

	def __init__(self, curso):	
		'''
		Gráfico que recebe o curso enviado pela listbox da parte gráfica
		e cria o gráfico apartir desse curso, indo buscar os valores ao ficheiro csv

		@param curso - curso recebido para ser feito o gráfico
		'''
		lista = []
		#Abre o ficheiro onde vão ser retirados os dados a vizualizar n ográfico
		reader = csv.reader(open("pesquisa2.csv", "rb"))
		for row in reader:			
			#grava os dados do csv numa lista
			lista.append(row)
		self.curso = curso
		grafico.figure()
		ax = grafico.subplot(111)
		ax.set_xlabel('Anos')
		ax.set_ylabel('Numero de Alunos')
		i = 0
		#procura a linha da lista em que se encontram os valores a ser colocádos no gráfico
		while((str(lista[i][0]).decode('utf-8')) != curso):
			i = i + 1
		#cria e insere valores no gráfico
		ax.set_title(curso)
		ax.set_xlim(1994, 2011)
		xs = [1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011]
		ys = [float(lista[i][1]), float(lista[i][2]), float(lista[i][3]), float(lista[i][4]), float(lista[i][5]), float(lista[i][6]), 
				float(lista[i][7]), float(lista[i][8]), float(lista[i][9]), float(lista[i][10]), float(lista[i][11]), float(lista[i][12]), 
					float(lista[i][13]), float(lista[i][14]), float(lista[i][15]),float(lista[i][16])]
		ax.plot(xs, ys, '-o')
		grafico.show()

class Criar_Grafico2():
	'''
	Clase que cria o grafico da pesquisa 4
	'''

	def __init__(self, nivel):	
		'''
		Gráfico que recebe o nivel de formação enviado pela listbox da parte gráfica
		e cria o gráfico apartir desse nivel de formação, indo buscar os valores ao ficheiro csv

		@param nivel - nivel de formação recebido para ser feito o gráfico
		'''
		lista = []		
		#Abre o ficheiro onde vão ser retirados os dados a vizualizar n ográfico
		reader = csv.reader(open("pesquisa4.csv", "rb"))
		for row in reader:			
			#grava os dados do csv numa lista
			lista.append(row)
		self.nivel = nivel		
		grafico.figure()
		ax = grafico.subplot(111)
		ax.set_xlabel('Anos')
		ax.set_ylabel('Numero de Alunos')
		i = 0
		#procura a linha da lista em que se encontram os valores a ser colocádos no gráfico
		while((str(lista[i][0]).decode('utf-8')) != nivel):
			i = i + 1		
		#cria e insere valores no gráfico
		ax.set_title(nivel)
		ax.set_xlim(1994, 2011)
		xs = [1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011]
		ys = [float(lista[i][1]), float(lista[i][2]), float(lista[i][3]), float(lista[i][4]), float(lista[i][5]), float(lista[i][6]), 
				float(lista[i][7]), float(lista[i][8]), float(lista[i][9]), float(lista[i][10]), float(lista[i][11]), float(lista[i][12]), 
					float(lista[i][13]), float(lista[i][14]), float(lista[i][15]),float(lista[i][16])]
		ax.plot(xs, ys, '-o')
		
		grafico.show()
